package com.alks.function.service.pcfactoryquery;

import com.alks.entity.data.entity.PcSlipDetailPartBf;
import com.alks.entity.data.entity.PcSlipDetailPartBf2;
import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.dto.finance.costcheck.PcPackDetailsReq;
import com.alks.function.data.dto.pcfactoryquery.PartBfInDto;
import com.alks.function.data.request.factoryquery.PartBfInRequest;
import com.alks.function.data.request.factoryquery.PartBfOutRequest;
import com.alks.function.data.request.factoryquery.PartStockRequest;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 耗品出入库明细 服务类
 * </p>
 *
 * @author ms
 * @since 2023-08-03
 */
public interface IPcSlipDetailPartBfService extends IService<PcSlipDetailPartBf> {

    Map<String, Object> queryPartBfIn(PartBfInRequest request, int printFlag);

    ResponseInfo queryPartBfInBack();

    ResponseInfo queryPartBfOut(PartBfOutRequest request);

    ResponseInfo queryPartBfOutBack();

    ResponseInfo queryPartBfStockHead(PartStockRequest result);

    ResponseInfo queryPartBfStockDetail(String mtlNo);

    ResponseInfo queryPartBfStockBack();

    ResponseInfo getConsumableList(PcPackDetailsReq req);

    ResponseInfo optionConsumable(List<PcSlipDetailPartBf2> list, String remark, String choose);

    ResponseInfo getConsumableDetail(String slipNo);

    ResponseInfo saveConsumableDetail(List<PcSlipDetailPartBf2> list);

    ResponseInfo setUnitPrice(List<PcSlipDetailPartBf2> list);

    /**
     * 耗品入库导出
     * @param response 响应
     * @param inDtoList 导入参数
     */
    void partInExport(HttpServletResponse response, List<PartBfInDto> inDtoList);
}
